/**
 * 判断对象是否是一个 Promise
 * @param {any} x 待判断对象
 * @returns {boolean} 是否是一个 Promise 对象
 */
export function isPromise(x: any) {
  return (
    !!x &&
    (typeof x === "object" || typeof x === "function") &&
    ((x.constructor && x.constructor.name === "Promise") ||
      typeof x.then === "function")
  );
}
